package com.yuhuihui.common.utils.excel;

import com.yuhuihui.common.utils.excel.export.ExcelExport;
import com.yuhuihui.common.utils.excel.export.parameters.ExcelExportBatchSheetParameter;
import com.yuhuihui.common.utils.excel.export.parameters.ExcelExportOneSheetParameter;

/**
 * excel导出工具类
 *
 * @author yuhh
 * @date 2022-08-22 16:20:11
 * @see ExcelExport
 */
public class ExcelExportUtil extends ExcelExport {

    /**
     * 导出excel--单个sheet
     *
     * @param parameter excel导出单个sheet参数
     * @author yuhh
     * @date 2022-08-22 16:20:17
     */
    static <T> void exportOneSheetExcel(ExcelExportOneSheetParameter<T> parameter) {
        doOneSheetExport(parameter);
    }

    /**
     * 执行导出excel--多个个sheet
     *
     * @param parameter excel导出多个sheet参数
     * @author yuhh
     * @date 2022-08-22 16:20:20
     */
    static <T> void exportBatchSheetExcel(ExcelExportBatchSheetParameter<T> parameter) {
        doBatchSheetExport(parameter);
    }

    /**
     * 执行导出excel--单个sheet--异步
     *
     * @param parameter excel导出单个sheet参数
     * @author yuhh
     * @date 2022-08-22 16:20:22
     */
    static <T> void exportOneSheetExcelAsync(ExcelExportOneSheetParameter<T> parameter){
        doOneSheetExportAsync(parameter);
    }

    /**
     * 执行导出excel--多个个sheet--异步
     *
     * @param parameter excel导出多个sheet参数
     * @author yuhh
     * @date 2022-08-22 16:20:24
     */
    static <T> void exportBatchSheetExcelAsync(ExcelExportBatchSheetParameter<T> parameter){
        doBatchSheetExportAsync(parameter);
    }
}
